package com.didi.gulimall.cart.vo;

import com.didi.gulimall.common.vo.OrderItemVo;
import lombok.Data;
import org.apache.commons.collections.CollectionUtils;

import java.math.BigDecimal;
import java.util.List;

/**
 * 整个购物车
 * 需要计算的属性，必须重写他的get方法，保证每次获取属性都会进行计算
 *
 * @author 10626
 */
@Data
public class Cart {
    /**
     * 购物项
     */
    List<CartItem> items;
    /**
     * 订单号
     */
    private String orderSn;
    /**
     * //商品数量
     */
    private Integer countNum = 0;
    /**
     * //商品类型数量
     */
    private Integer countType = 0;
    /**
     * //商品总价
     */
    private BigDecimal totalAmount = BigDecimal.ZERO;
    /**
     * 支付总价
     */
    private BigDecimal totalPricePayable = BigDecimal.ZERO;
    /**
     * 促销价减免
     */
    private BigDecimal totalPromotionAmount = BigDecimal.ZERO;
    /**
     * 满减
     */
    private BigDecimal totalFullDiscount = BigDecimal.ZERO;
    /**
     * 会员阶梯价
     */
    private BigDecimal totalMemberTieredPrice = BigDecimal.ZERO;
    /**
     * 下单使用成长值
     */
    Integer useGrowthValue = 0;
    /**
     * 下单使用积分
     */
    Integer useIntegration = 0;
    /**
     * 可以获得的积分
     */
    private Integer integration = 0;
    /**
     * 可以获得的成长值
     */
    private Integer growth = 0;

}
